1. Field of the Invention
This invention generally relates to displaying of objects on a computer screen and more particularly to a method of organizing and displaying user created or imported objects over active application programs or static images.
2. Background of the Invention
Whenever two or more people are involved in the preparation of a document, whether it be a financial spread sheet, a CAD design, a circuit schematic layout, an organization report, a bit map image, etc., succeeding drafts of the document are prepared, circulated, modified in the process. Each person annotates his or her remarks on the document and forwards it to the next person. Typically, several drafts of the document will be circulated before a final draft is produced, and this is a very time consuming process.
In the case where a person involved in this document preparation process is at a different geographical location, getting the document from one location to another location and back becomes another tedious and time consuming task. The document will either have to be mailed or faxed to that person, further complicating the entire process.
One standard method to alleviate this process is to hold meetings where everyone gathers and comments on the document with the hope to reduce the number of drafts needed before a final draft is produced. The shortcoming with this method is that there may be significant travel time and travel cost in getting all of the people to the same location. In addition, the final draft of the document usually is again circulated for final comments.
One solution to solve this problem is to use a teleconferencing software program, an aspect of which contains an embodiment of the present invention. By using computer network connections or modem connected phone lines, everyone can be connected via his or her computer. By using the teleconferencing software program, everyone's computer screen displays the same document. In addition to using the software program and network or modem connections, conference calling over the voice phone lines or through the software program creates a dynamic and live atmosphere where everyone can participate in the discussion and refer to the document displayed on the screen. When referring to the document, the ability to annotate the document on the computer screen becomes important. It is desirable to allow each person to use his or her own pointer to specifically point to, circle, or highlight an area of the document. Each pointer differentiated by color, pattern, shape or otherwise to indicate the person who is making the suggestion for the modification. Each person is allowed to create a line, an arrow, a circle, a highlight, to insert an object, or to create or import images. These created or imported objects can be saved in a file for later use or for documentation purposes. Furthermore, any suggestion for modification to the document can be immediately inserted and calculated by the application program with new results displayed on the screen for further discussion. In this manner, the final version of the document is prepared in a much shorter period of time and in an efficient and dynamic way.
The problem presented in this scenario and the solution provided by the present invention is in the annotation of the image on the computer screen, particularly in annotating over active application programs. It is desirable to annotate over static images or active application programs in the discussion with other users.
Typically, when running a computer application program such as a word processor, a spreadsheet program, or other types of program, the application program interacts with the computer hardware to display information on the computer screen to the user. The user, reading from the screen, inputs data or commands via input devices such as a keyboard or a mouse to have the application program do certain tasks. Usually, the application program controls and occupies the entire screen. The user has to use the application program in order to make any changes to the content of the screen.
If the application program does not allow the desired type of modification to the screen, that modification cannot be made. For example, in using a word processor such as a Disk Operation System ("DOS") version of WordPerfect word processor from WordPerfect Corporation, the user can type in lines of text but the user cannot highlight words or phrases by circling or marking it with different colors. Similarly, when running an application program in a windows-type environment such as in the environment provided by Microsoft Windows from Microsoft Corporation, the application program controls the part of the screen its window occupies. The user can only modify the content of the screen controlled by the application program in the manner allowed by the application program. For example, using a Microsoft Windows version rather than a DOS version of WordPerfect word processor in Microsoft Windows, the WordPerfect window size can be modified but the content in the WordPerfect window is still controlled by the WordPerfect word processor. Any changes to the content of the WordPerfect window must be allowed by the WordPerfect word processor. Thus, in the situation described above where multiple users wish to annotate over the screen controlled and occupied by active application programs, there is a need for a method to overlay objects on the screen over active application programs in an organized manner.
In the case of a static image, such as a bitmap image, an Object Linking & Embedding object, or a metafile object is pulled up on the screen for discussion and annotation, there is no application program running, but there is still a desire to keep the annotations separate from the actual image.
Thus, there is a need for a method to provide for virtual screen overlay in this case as well.